package com.xiangyun.xyojbackenduserservice.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xiangyun.xyojbackendmodel.entity.User;
import com.xiangyun.xyojbackendmodel.vo.UserRankVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 用户数据库操作
 */
public interface UserMapper extends BaseMapper<User> {

    /**
     * 按AC率排序的排行榜查询
     */
    Page<UserRankVO> selectPageOrderByAcRate(Page<UserRankVO> page);

    /**
     * 按积分排序的排行榜查询
     */
    Page<UserRankVO> selectPageOrderByScore(Page<UserRankVO> page);

    /**
     * 按AC数排序的排行榜查询
     */
    Page<UserRankVO> selectPageOrderByAcCount(Page<UserRankVO> page);

    /**
     * 通用排行榜查询（支持动态排序）
     */
    Page<UserRankVO> selectRankList(Page<UserRankVO> page, @Param("orderBy") String orderBy);
}




